home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 293_02 / dumppp.c < prev    next >
C/C++ Source or Header  |  1989-08-23  |  2KB  |  66 lines

  1. /*************************** dumppp.c ******************************
  2.  
  3. Utility program to dump a data file on the console screen to
  4. permit inspection of its contents. This program was intended for
  5. use with image data files for evaluation of their contents.
  6.  
  7. Daniel Geist
  8. Michael Vannier
  9.  
  10. Mallinckrodt Institute of Radiology
  11. Washiington University School of Medicine
  12. 510 S. Kingshighway Blvd.
  13. St. Louis, Mo. 63110
  14.  
  15. ******************************************************************/
  16.  
  17. #include <stdio.h>
  18. /* #include <stdlib.h> */
  19. #include <ctype.h>
  20.  
  21. unsigned char buffer[256];
  22.  
  23.  
  24. main(argc,argv)
  25.  
  26. int argc;
  27. char *argv[];
  28.  
  29.     int i,j,k,read=256;
  30.     FILE *fn;
  31.  
  32.     if (argc<2) error_exit("no file given");
  33.     fn=fopen(argv[1],"rb");
  34.     if(fn==0) error_exit("could not open file");
  35.     if(argc>2) 
  36.     { 
  37.         j=atoi(argv[2]);
  38.         if (j>0) for(i=0;i<j;i++) read=fread(buffer,1,256,fn);
  39.         else j=0;
  40.     }
  41.     else j=0;
  42.  
  43.     while(read==256)
  44.     {
  45.         printf(" \n\n               block no. %d\n\n",j++);
  46.         read=fread(buffer,1,256,fn);
  47.         for (i=read;i<256;i++) buffer[i]=0;
  48.         for (i=0;i<16;i++)
  49.         {
  50.             for(k=0;k<16;k++) printf(" %.2X",buffer[i*16+k]);
  51.             printf("   ");
  52.             for (k=0;k<16;k++) 
  53.                 putchar(isprint(buffer[i*16+k])?buffer[i*16+k]:'.');    
  54.             printf("  %.3d\n",i*16);
  55.         }
  56.     } 
  57. }
  58.  
  59. error_exit(message)
  60. char *message;
  61.     printf("DUMP -- %s\n",message);
  62.     exit(0);
  63. }
  64.